<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPH::MeshWithGridDataPackages&lt; MeshFieldType, GridDataPackageType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_s_p_h.html">SPH</a></li><li class="navelem"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">MeshWithGridDataPackages</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_s_p_h_1_1_mesh_with_grid_data_packages-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SPH::MeshWithGridDataPackages&lt; MeshFieldType, GridDataPackageType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract class for mesh with data packages.  
 <a href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="mesh__with__data__packages_8h_source.html">mesh_with_data_packages.h</a>&gt;</code></p>

<p>Inherits <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, and <a class="el" href="class_s_p_h_1_1_mesh.html">SPH::Mesh</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae5878b3454392e82c9aeb85454a5a22c"><td class="memTemplParams" colspan="2"><a id="ae5878b3454392e82c9aeb85454a5a22c"></a>
template&lt;typename... Args&gt; </td></tr>
<tr class="memitem:ae5878b3454392e82c9aeb85454a5a22c"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>MeshWithGridDataPackages</b> (<a class="el" href="class_s_p_h_1_1_base_bounding_box.html">BoundingBox</a> tentative_bounds, Real data_spacing, <a class="el" href="classsize__t.html">size_t</a> buffer_size, Args &amp;&amp;...args)</td></tr>
<tr class="separator:ae5878b3454392e82c9aeb85454a5a22c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a774011af7d37f7defb93a9a153c67ba8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a774011af7d37f7defb93a9a153c67ba8">allocateMeshDataMatrix</a> ()</td></tr>
<tr class="separator:a774011af7d37f7defb93a9a153c67ba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea8a2d686df6255cd67a52571377e2f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#aea8a2d686df6255cd67a52571377e2f6">deleteMeshDataMatrix</a> ()</td></tr>
<tr class="separator:aea8a2d686df6255cd67a52571377e2f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c2871ef7aa199283d2d79c1c47e3abd"><td class="memTemplParams" colspan="2">template&lt;class DataType , typename PackageDataAddressType , PackageDataAddressType GridDataPackageType::* MemPtr&gt; </td></tr>
<tr class="memitem:a5c2871ef7aa199283d2d79c1c47e3abd"><td class="memTemplItemLeft" align="right" valign="top">DataType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a5c2871ef7aa199283d2d79c1c47e3abd">probeMesh</a> (const Vecd &amp;position)</td></tr>
<tr class="separator:a5c2871ef7aa199283d2d79c1c47e3abd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ef7381356b1adb972ee02976a99725b"><td class="memItemLeft" align="right" valign="top"><a id="a0ef7381356b1adb972ee02976a99725b"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>DataSpacing</b> () override</td></tr>
<tr class="separator:a0ef7381356b1adb972ee02976a99725b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_p_h_1_1_mesh"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_p_h_1_1_mesh')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_s_p_h_1_1_mesh.html">SPH::Mesh</a></td></tr>
<tr class="memitem:a3a7e9ff80687b511f65c6cba9afedeb4 inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a3a7e9ff80687b511f65c6cba9afedeb4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Mesh</b> (<a class="el" href="class_s_p_h_1_1_base_bounding_box.html">BoundingBox</a> tentative_bounds, Real grid_spacing, <a class="el" href="classsize__t.html">size_t</a> buffer_width)</td></tr>
<tr class="separator:a3a7e9ff80687b511f65c6cba9afedeb4 inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75d3ee02338b9affcaca59c7c8d9ffc5 inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a75d3ee02338b9affcaca59c7c8d9ffc5"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>Mesh</b> (Vecd mesh_lower_bound, <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> number_of_cells, Real grid_spacing)</td></tr>
<tr class="separator:a75d3ee02338b9affcaca59c7c8d9ffc5 inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacda40c501e9d0545da816f918ef8f25 inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a id="aacda40c501e9d0545da816f918ef8f25"></a>
<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>NumberOfCells</b> ()</td></tr>
<tr class="separator:aacda40c501e9d0545da816f918ef8f25 inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30aa391148361b419b89756906bd3d2e inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a30aa391148361b419b89756906bd3d2e"></a>
<a class="el" href="classsize__t.html">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>MeshBufferSize</b> ()</td></tr>
<tr class="separator:a30aa391148361b419b89756906bd3d2e inherit pub_methods_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_s_p_h_1_1_base_mesh"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_s_p_h_1_1_base_mesh')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_s_p_h_1_1_base_mesh.html">SPH::BaseMesh</a></td></tr>
<tr class="memitem:a06e00f3689429e2b174e3da6a7021900 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a06e00f3689429e2b174e3da6a7021900"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>BaseMesh</b> (<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> number_of_grid_points)</td></tr>
<tr class="separator:a06e00f3689429e2b174e3da6a7021900 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e74d1de7df0fa2a21a35a52298fb4c inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="ac5e74d1de7df0fa2a21a35a52298fb4c"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>BaseMesh</b> (Vecd mesh_lower_bound, Real grid_spacing, <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> number_of_grid_points)</td></tr>
<tr class="separator:ac5e74d1de7df0fa2a21a35a52298fb4c inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfccde797ba9d7b610933a12c6837768 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="adfccde797ba9d7b610933a12c6837768"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>BaseMesh</b> (<a class="el" href="class_s_p_h_1_1_base_bounding_box.html">BoundingBox</a> tentative_bounds, Real grid_spacing, <a class="el" href="classsize__t.html">size_t</a> buffer_width)</td></tr>
<tr class="separator:adfccde797ba9d7b610933a12c6837768 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a3bee5412ec539c8cd068d504cd45b inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a00a3bee5412ec539c8cd068d504cd45b"></a>
Vecd&#160;</td><td class="memItemRight" valign="bottom"><b>MeshLowerBound</b> ()</td></tr>
<tr class="separator:a00a3bee5412ec539c8cd068d504cd45b inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a075244782af1e6dccff264c569e29dab inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a075244782af1e6dccff264c569e29dab"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GridSpacing</b> ()</td></tr>
<tr class="separator:a075244782af1e6dccff264c569e29dab inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6f44b0d0886d0fd8cbbbded978fca8c inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="ad6f44b0d0886d0fd8cbbbded978fca8c"></a>
<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>NumberOfGridPoints</b> ()</td></tr>
<tr class="separator:ad6f44b0d0886d0fd8cbbbded978fca8c inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02486b6eeb392d892833863a6e0c4307 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a02486b6eeb392d892833863a6e0c4307"></a>
<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>NumberOfGridPointsFromNumberOfCells</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;number_of_cells)</td></tr>
<tr class="separator:a02486b6eeb392d892833863a6e0c4307 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a486a7d7dc1b00d80e3435cb6da248cf2 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a486a7d7dc1b00d80e3435cb6da248cf2"></a>
<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>NumberOfCellsFromNumberOfGridPoints</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;number_of_grid_points)</td></tr>
<tr class="separator:a486a7d7dc1b00d80e3435cb6da248cf2 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fd4caba5139cec4ae745eee2d3cf4ba inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a8fd4caba5139cec4ae745eee2d3cf4ba"></a>
Vecd&#160;</td><td class="memItemRight" valign="bottom"><b>GridPositionFromCellPosition</b> (const Vecd &amp;cell_position)</td></tr>
<tr class="separator:a8fd4caba5139cec4ae745eee2d3cf4ba inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64e9c3be61671675ce2a05751abf99b3 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a64e9c3be61671675ce2a05751abf99b3"></a>
<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>CellIndexFromPosition</b> (const Vecd &amp;position)</td></tr>
<tr class="separator:a64e9c3be61671675ce2a05751abf99b3 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a521c1c62ca5ceb63b9d03ac81653ed86 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a521c1c62ca5ceb63b9d03ac81653ed86"></a>
Vecd&#160;</td><td class="memItemRight" valign="bottom"><b>CellPositionFromIndex</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;cell_index)</td></tr>
<tr class="separator:a521c1c62ca5ceb63b9d03ac81653ed86 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4786bf9f54d35c848819ad006f93bfa inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top">Vecd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_base_mesh.html#ac4786bf9f54d35c848819ad006f93bfa">GridPositionFromIndex</a> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;grid_index)</td></tr>
<tr class="separator:ac4786bf9f54d35c848819ad006f93bfa inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24c765e7b9960e5dc90ff08e4be8c897 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a24c765e7b9960e5dc90ff08e4be8c897"></a>
<a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><b>transfer1DtoMeshIndex</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;number_of_mesh_indexes, <a class="el" href="classsize__t.html">size_t</a> i)</td></tr>
<tr class="separator:a24c765e7b9960e5dc90ff08e4be8c897 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0e4e22fec94130d8d25b13b6dfeceee inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a id="ae0e4e22fec94130d8d25b13b6dfeceee"></a>
<a class="el" href="classsize__t.html">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>transferMeshIndexTo1D</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;number_of_mesh_indexes, const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;mesh_index)</td></tr>
<tr class="separator:ae0e4e22fec94130d8d25b13b6dfeceee inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b22b19b1175c3e5d8c014e00a1602c inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsize__t.html">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_base_mesh.html#ae2b22b19b1175c3e5d8c014e00a1602c">MortonCode</a> (const <a class="el" href="classsize__t.html">size_t</a> &amp;i)</td></tr>
<tr class="separator:ae2b22b19b1175c3e5d8c014e00a1602c inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9b5be75a20c93edb12261651fcc0b07 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsize__t.html">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_base_mesh.html#ac9b5be75a20c93edb12261651fcc0b07">transferMeshIndexToMortonOrder</a> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;mesh_index)</td></tr>
<tr class="separator:ac9b5be75a20c93edb12261651fcc0b07 inherit pub_methods_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a4127474a75deb716a49ef73b1412a18f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_my_memory_pool.html">MyMemoryPool</a>&lt; GridDataPackageType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a4127474a75deb716a49ef73b1412a18f">data_pkg_pool_</a></td></tr>
<tr class="separator:a4127474a75deb716a49ef73b1412a18f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30bd6b545177fd114726519ab831ad6d"><td class="memItemLeft" align="right" valign="top">MeshDataMatrix&lt; GridDataPackageType * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a30bd6b545177fd114726519ab831ad6d">data_pkg_addrs_</a></td></tr>
<tr class="separator:a30bd6b545177fd114726519ab831ad6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237ebcb9e0d6c93103ac7ec43ae7edf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_s_p_h.html#adedcef5c2d6a5ee133747acd23880415">ConcurrentVector</a>&lt; GridDataPackageType * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a237ebcb9e0d6c93103ac7ec43ae7edf1">inner_data_pkgs_</a></td></tr>
<tr class="separator:a237ebcb9e0d6c93103ac7ec43ae7edf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a412f98ac4dfafede35db3e2c203e85af"><td class="memTemplParams" colspan="2"><a id="a412f98ac4dfafede35db3e2c203e85af"></a>
template&lt;typename... ConstructorArgs&gt; </td></tr>
<tr class="memitem:a412f98ac4dfafede35db3e2c203e85af"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>initializeASingularDataPackage</b> (ConstructorArgs &amp;&amp;...args)</td></tr>
<tr class="separator:a412f98ac4dfafede35db3e2c203e85af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac116373a5cc4c630f602860486ba554b"><td class="memItemLeft" align="right" valign="top"><a id="ac116373a5cc4c630f602860486ba554b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>assignDataPackageAddress</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;cell_index, GridDataPackageType *data_pkg)</td></tr>
<tr class="separator:ac116373a5cc4c630f602860486ba554b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1147df8909e8300acdb22c2391c15b"><td class="memItemLeft" align="right" valign="top"><a id="a0a1147df8909e8300acdb22c2391c15b"></a>
GridDataPackageType *&#160;</td><td class="memItemRight" valign="bottom"><b>DataPackageFromCellIndex</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;cell_index)</td></tr>
<tr class="separator:a0a1147df8909e8300acdb22c2391c15b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac631df15102d5a34c587e5b81a99481a"><td class="memTemplParams" colspan="2">template&lt;typename DataType , typename PackageDataType , PackageDataType GridDataPackageType::* MemPtr&gt; </td></tr>
<tr class="memitem:ac631df15102d5a34c587e5b81a99481a"><td class="memTemplItemLeft" align="right" valign="top">DataType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#ac631df15102d5a34c587e5b81a99481a">DataValueFromGlobalIndex</a> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;global_grid_index)</td></tr>
<tr class="separator:ac631df15102d5a34c587e5b81a99481a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bab6eded2a0b74fdb8219b823420998"><td class="memItemLeft" align="right" valign="top"><a id="a6bab6eded2a0b74fdb8219b823420998"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>initializePackageAddressesInACell</b> (const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;cell_index)</td></tr>
<tr class="separator:a6bab6eded2a0b74fdb8219b823420998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab97f065bb9f2420d65524e181a3d6727"><td class="memItemLeft" align="right" valign="top">std::pair&lt; int, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#ab97f065bb9f2420d65524e181a3d6727">CellShiftAndDataIndex</a> (int data_addrs_index_component)</td></tr>
<tr class="separator:ab97f065bb9f2420d65524e181a3d6727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_s_p_h_1_1_mesh"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_s_p_h_1_1_mesh')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_s_p_h_1_1_mesh.html">SPH::Mesh</a></td></tr>
<tr class="memitem:a1ee95055cea1e7ce73429cea1b4a1ccb inherit pro_methods_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a id="a1ee95055cea1e7ce73429cea1b4a1ccb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>copyMeshProperties</b> (<a class="el" href="class_s_p_h_1_1_mesh.html">Mesh</a> *another_mesh)</td></tr>
<tr class="separator:a1ee95055cea1e7ce73429cea1b4a1ccb inherit pro_methods_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a561ed978fb10417ca502c76bb8a20687"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a561ed978fb10417ca502c76bb8a20687">data_spacing_</a></td></tr>
<tr class="separator:a561ed978fb10417ca502c76bb8a20687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a839776aa7acd0326ab545748d9d11a8b"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a839776aa7acd0326ab545748d9d11a8b">pkg_size_</a> = GridDataPackageType().PackageSize()</td></tr>
<tr class="separator:a839776aa7acd0326ab545748d9d11a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d6e4149d3b064b6bf6bd19ec617c98"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a56d6e4149d3b064b6bf6bd19ec617c98">pkg_addrs_buffer_</a> = GridDataPackageType().AddressBufferWidth()</td></tr>
<tr class="separator:a56d6e4149d3b064b6bf6bd19ec617c98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4815b1c06a2f868cfff510ad32e1045"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#ae4815b1c06a2f868cfff510ad32e1045">pkg_operations_</a> = <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a839776aa7acd0326ab545748d9d11a8b">pkg_size_</a> + <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a56d6e4149d3b064b6bf6bd19ec617c98">pkg_addrs_buffer_</a></td></tr>
<tr class="separator:ae4815b1c06a2f868cfff510ad32e1045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f7c5d5e3032ab9812033e8576c4fe2"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a08f7c5d5e3032ab9812033e8576c4fe2">pkg_addrs_size_</a> = <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a839776aa7acd0326ab545748d9d11a8b">pkg_size_</a> + 2 * <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a56d6e4149d3b064b6bf6bd19ec617c98">pkg_addrs_buffer_</a></td></tr>
<tr class="separator:a08f7c5d5e3032ab9812033e8576c4fe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6cf2f2d3047d86f341db507596a773"><td class="memItemLeft" align="right" valign="top">std::mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a4f6cf2f2d3047d86f341db507596a773">mutex_my_pool</a></td></tr>
<tr class="separator:a4f6cf2f2d3047d86f341db507596a773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c62516b2cabaeeddb3b078ef34b722b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_s_p_h_1_1_base_mesh.html">BaseMesh</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a0c62516b2cabaeeddb3b078ef34b722b">global_mesh_</a></td></tr>
<tr class="separator:a0c62516b2cabaeeddb3b078ef34b722b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e64439778f73dccc81a66b19224f6ae"><td class="memItemLeft" align="right" valign="top">StdVec&lt; GridDataPackageType * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a7e64439778f73dccc81a66b19224f6ae">singular_data_pkgs_addrs_</a></td></tr>
<tr class="separator:a7e64439778f73dccc81a66b19224f6ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_s_p_h_1_1_mesh"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_s_p_h_1_1_mesh')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_s_p_h_1_1_mesh.html">SPH::Mesh</a></td></tr>
<tr class="memitem:a973c2ce893d6b11b2c53cc1ba5fdd846 inherit pro_attribs_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsize__t.html">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh.html#a973c2ce893d6b11b2c53cc1ba5fdd846">buffer_width_</a></td></tr>
<tr class="separator:a973c2ce893d6b11b2c53cc1ba5fdd846 inherit pro_attribs_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8996ae22420ea203e1206c2c7466d716 inherit pro_attribs_class_s_p_h_1_1_mesh"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_mesh.html#a8996ae22420ea203e1206c2c7466d716">number_of_cells_</a></td></tr>
<tr class="separator:a8996ae22420ea203e1206c2c7466d716 inherit pro_attribs_class_s_p_h_1_1_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_s_p_h_1_1_base_mesh"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_s_p_h_1_1_base_mesh')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_s_p_h_1_1_base_mesh.html">SPH::BaseMesh</a></td></tr>
<tr class="memitem:ac8559448b24066e06263bff0aa5ba75b inherit pro_attribs_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top">Vecd&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_base_mesh.html#ac8559448b24066e06263bff0aa5ba75b">mesh_lower_bound_</a></td></tr>
<tr class="separator:ac8559448b24066e06263bff0aa5ba75b inherit pro_attribs_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6c2e186b771c3573486cdcbaa362b25 inherit pro_attribs_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_base_mesh.html#af6c2e186b771c3573486cdcbaa362b25">grid_spacing_</a></td></tr>
<tr class="separator:af6c2e186b771c3573486cdcbaa362b25 inherit pro_attribs_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e1e27e30924c3390d8cdd20dba606fd inherit pro_attribs_class_s_p_h_1_1_base_mesh"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_base_mesh.html#a5e1e27e30924c3390d8cdd20dba606fd">number_of_grid_points_</a></td></tr>
<tr class="separator:a5e1e27e30924c3390d8cdd20dba606fd inherit pro_attribs_class_s_p_h_1_1_base_mesh"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class MeshFieldType, class GridDataPackageType&gt;<br />
class SPH::MeshWithGridDataPackages&lt; MeshFieldType, GridDataPackageType &gt;</h3>

<p>Abstract class for mesh with data packages. </p>
<p>The idea is to save sparse data on a cell-based mesh. We say sparse data, it means that only in some inner mesh cells there are no trivial data. A typical example is a level set field which only has meaningful values near the interface, while the latter is in the inner region of a mesh. In this class, only some inner mesh cells are filled with data packages. Each data package is again a mesh, but grid based, where two sets of data are saved on its grid points. One is the field data of matrices with PKG_SIZE, the other is corresponding address data of matrices with ADDRS_SIZE. For two neighboring data packages, they share the data in the buffer which is in the overlap region. The filling of field data is achieved first by the data matrices by the function initializeDataInACell and then the address matrix by the function initializeAddressesInACell. All these data packages are indexed by a concurrent vector inner_data_pkgs_. Note that a data package should be not near the mesh bound, otherwise one will encounter the error "out of range". </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a774011af7d37f7defb93a9a153c67ba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a774011af7d37f7defb93a9a153c67ba8">&#9670;&nbsp;</a></span>allocateMeshDataMatrix()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType , class GridDataPackageType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::allocateMeshDataMatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>allocate memories for addresses of data packages. </p>

</div>
</div>
<a id="ab97f065bb9f2420d65524e181a3d6727"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab97f065bb9f2420d65524e181a3d6727">&#9670;&nbsp;</a></span>CellShiftAndDataIndex()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;int, int&gt; <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::CellShiftAndDataIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>data_addrs_index_component</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>find related cell index and data index for a data package address matrix </p>

</div>
</div>
<a id="ac631df15102d5a34c587e5b81a99481a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac631df15102d5a34c587e5b81a99481a">&#9670;&nbsp;</a></span>DataValueFromGlobalIndex()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType , class GridDataPackageType &gt; </div>
<div class="memtemplate">
template&lt;typename DataType , typename PackageDataType , PackageDataType GridDataPackageType::* MemPtr&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">DataType <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::DataValueFromGlobalIndex </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_s_p_h_1_1_s_vec.html">Vecu</a> &amp;&#160;</td>
          <td class="paramname"><em>global_grid_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This function find the value of data from its index from global mesh. </p>

</div>
</div>
<a id="aea8a2d686df6255cd67a52571377e2f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea8a2d686df6255cd67a52571377e2f6">&#9670;&nbsp;</a></span>deleteMeshDataMatrix()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType , class GridDataPackageType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::deleteMeshDataMatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>delete memories for addresses of data packages. </p>

</div>
</div>
<a id="a5c2871ef7aa199283d2d79c1c47e3abd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c2871ef7aa199283d2d79c1c47e3abd">&#9670;&nbsp;</a></span>probeMesh()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType , class GridDataPackageType &gt; </div>
<div class="memtemplate">
template&lt;class DataType , typename PackageDataAddressType , PackageDataAddressType GridDataPackageType::* MemPtr&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">DataType <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::probeMesh </td>
          <td>(</td>
          <td class="paramtype">const Vecd &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function probe a mesh value </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a30bd6b545177fd114726519ab831ad6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30bd6b545177fd114726519ab831ad6d">&#9670;&nbsp;</a></span>data_pkg_addrs_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">MeshDataMatrix&lt;GridDataPackageType *&gt; <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::data_pkg_addrs_</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Address of data packages. </p>

</div>
</div>
<a id="a4127474a75deb716a49ef73b1412a18f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4127474a75deb716a49ef73b1412a18f">&#9670;&nbsp;</a></span>data_pkg_pool_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_my_memory_pool.html">MyMemoryPool</a>&lt;GridDataPackageType&gt; <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::data_pkg_pool_</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>memory pool for all packages in the mesh. </p>

</div>
</div>
<a id="a561ed978fb10417ca502c76bb8a20687"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a561ed978fb10417ca502c76bb8a20687">&#9670;&nbsp;</a></span>data_spacing_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::data_spacing_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>spacing of data in the data packages </p>

</div>
</div>
<a id="a0c62516b2cabaeeddb3b078ef34b722b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c62516b2cabaeeddb3b078ef34b722b">&#9670;&nbsp;</a></span>global_mesh_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_s_p_h_1_1_base_mesh.html">BaseMesh</a> <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::global_mesh_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the mesh for the locations of all possible data points. </p>

</div>
</div>
<a id="a237ebcb9e0d6c93103ac7ec43ae7edf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a237ebcb9e0d6c93103ac7ec43ae7edf1">&#9670;&nbsp;</a></span>inner_data_pkgs_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_s_p_h.html#adedcef5c2d6a5ee133747acd23880415">ConcurrentVector</a>&lt;GridDataPackageType *&gt; <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::inner_data_pkgs_</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Inner data packages which is able to carry out spatial operations. </p>

</div>
</div>
<a id="a4f6cf2f2d3047d86f341db507596a773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f6cf2f2d3047d86f341db507596a773">&#9670;&nbsp;</a></span>mutex_my_pool</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::mutex <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::mutex_my_pool</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>mutex exclusion for memory pool </p>

</div>
</div>
<a id="a56d6e4149d3b064b6bf6bd19ec617c98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56d6e4149d3b064b6bf6bd19ec617c98">&#9670;&nbsp;</a></span>pkg_addrs_buffer_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::pkg_addrs_buffer_ = GridDataPackageType().AddressBufferWidth()</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the size of address buffer, a value less than the package size. </p>

</div>
</div>
<a id="a08f7c5d5e3032ab9812033e8576c4fe2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08f7c5d5e3032ab9812033e8576c4fe2">&#9670;&nbsp;</a></span>pkg_addrs_size_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::pkg_addrs_size_ = <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a839776aa7acd0326ab545748d9d11a8b">pkg_size_</a> + 2 * <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a56d6e4149d3b064b6bf6bd19ec617c98">pkg_addrs_buffer_</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the size of address matrix in the data packages. </p>

</div>
</div>
<a id="ae4815b1c06a2f868cfff510ad32e1045"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4815b1c06a2f868cfff510ad32e1045">&#9670;&nbsp;</a></span>pkg_operations_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::pkg_operations_ = <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a839776aa7acd0326ab545748d9d11a8b">pkg_size_</a> + <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html#a56d6e4149d3b064b6bf6bd19ec617c98">pkg_addrs_buffer_</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the size of operation loops. </p>

</div>
</div>
<a id="a839776aa7acd0326ab545748d9d11a8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a839776aa7acd0326ab545748d9d11a8b">&#9670;&nbsp;</a></span>pkg_size_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::pkg_size_ = GridDataPackageType().PackageSize()</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the size of the data package matrix </p>

</div>
</div>
<a id="a7e64439778f73dccc81a66b19224f6ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e64439778f73dccc81a66b19224f6ae">&#9670;&nbsp;</a></span>singular_data_pkgs_addrs_</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class MeshFieldType, class GridDataPackageType&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">StdVec&lt;GridDataPackageType *&gt; <a class="el" href="class_s_p_h_1_1_mesh_with_grid_data_packages.html">SPH::MeshWithGridDataPackages</a>&lt; <a class="el" href="class_s_p_h_1_1_mesh_field_type.html">MeshFieldType</a>, GridDataPackageType &gt;::singular_data_pkgs_addrs_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Singular data packages. provided for far field condition with usually only two values. For example, when level set is considered. The first value for inner far-field and second for outer far-field </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>SPHINXsys/src/shared/meshes/<a class="el" href="mesh__with__data__packages_8h_source.html">mesh_with_data_packages.h</a></li>
<li>SPHINXsys/src/for_2D_build/meshes/<a class="el" href="for__2_d__build_2meshes_2mesh__with__data__packages_8hpp_source.html">mesh_with_data_packages.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
